Robotic House

by Ralph Irwin

This article was published in the October 1999 issue of The Robot Builder.

What we all want – a house that takes care of its self. I built a house controller that takes care of all the basic functions of a house. To start with a house should know:
· The time of day and date (minute, hour, day, month and year)
· When to turn off and on certain lights
· When to use the sprinkler system
· Handle the motion sensors
· Other necessary information

After much searching I bought an Axiom board 68HC11 with about 56k of memory and a LynX-10 coprocessor for bi-directional control of any thing in the house using the house wiring (X-10). I wrote a controller program using ImageCraft C. It has a full clock and date in the 32k RAM.  It has been ruining for about three years.

I use the minutes since midnight to key all events during the day.  Each day at midnight I compute the exact time the event will happen (this allows me to randomize the events).  I also compute the approximate time of the sunrise and sunset - based
on the day of year.  The time of every event is logged in (x-10, motion, watering, etc.).

There are four motion detectors located around the outside of the house. They are connected to the controller each with separate wiring. When one detects motion, only during the night, a signal is sent out over the x-10 system to turn on up to three lights. A short time later it turns them off. The watering system is something else again. I have a subsystem for the front and back yards.  I use one whole output port just for the sprinkler system –

four bits for the front yard and four for the back yard.  This gives me control of up to 15 watering circuits each.  At the appropriate time the output port just sets the number (between 1 and 15) and times the event.  You can water the circuits at as
often wish.  You can water multiple times per day (for example: misters in the green house) all the way down to once every two weeks.

The temperature and rain fall is measured each hour. The average, highest and lowest values are computed for each day and for the last three days.

The temperature for the last three days is used to adjust the watering times up or down.  The rain fall was supposed to be used also but it didn’t work.

In case of a power outage there is an UPS to back just the 68HC11 computer.  It will sense the power dropout and go into a special mode – it will keep a log of every thing it did during the power outage. When power comes back on, it will reissue those events.